<template>
  <div id="AsnDetail">
    <div class="detail">
      <component :inputData="detailData"
                 :is="currentComponent"></component>
    </div>
  </div>

</template>

<script>
import detail from "commons/Detail";
import navMenu from "commons/NavMenu";
import baseMixin from "@/mixins/BaseMixin";

export default {
  name: "Detail",
  mixins: [baseMixin],
  data () {
    return {
      newFlag: true,
      selectData: {},
      detailData: {
        totalkey: "",
        subkey: "",
        fromarea: 0,
        toarea: "ZZZZZZZZZZZZZZZ",
        fromzone: 0,
        tozone: "ZZZZZZZZZZZZZZZ",
        isblind: 0,
        dynamic: 0,
        cctype: "10"
      },
      detailNav: "1",
      temporary: {},
      componentConfig: [
        {
          name: "GatherDetail",
          label: this.$t('common.info'),
          component: () => import('./page/particulars.vue')
        },
      ]
    }
  },
  computed: {
    currentComponent () {
      return this.componentConfig[this.detailNav - 1].component;
    }
  },
  methods: {
    async getData () {
      try {
        let res = await this.$api.get(`/queryRtx_ccmirroringById/${this.selectData.totalkey}/${this.selectData.subkey}`);
        
          this.detailData = res.bean;
        
      } catch (e) {
        this.$message.error(e);
      }
    },
    async getId () {
      try {
        let res = await this.$api.get(`/getNewRtx_ccmirroringTotalkey`);
        
          this.detailData = {
            totalkey: "",
            subkey: res.bean,
            fromarea: 0,
            toarea: "ZZZZZZZZZZZZZZZ",
            fromzone: 0,
            tozone: "ZZZZZZZZZZZZZZZ",
            isblind: 0,
            dynamic: 0,
            cctype: "10",
            updatefrom: new Date(new Date().setMonth((new Date().getMonth() - 1))),
            updateto: new Date()
          }
        
      } catch (e) {
        this.$message.error(e);
      }
    }
  },
  mounted () {
    this.newFlag = this.$store.state.newFlag;
    //判断是否事新建
    if (Object.keys(this.$store.state.skip).length !== 0) {
      let data = this.$store.state.skip;
      this.detailData = data.detail;
      this.selectData = data.routeData;
      this.detailNav = data.detailNav;
    } else if (this.newFlag) {
      this.getId();
    } else {
      this.selectData = this.$store.state.routeData;
      this.getData();
    }

  },
  components: {
    "v-detail": detail,
    "v-navMenu": navMenu,
  },

}
</script>

<style scoped>
</style>
